package firewall;

import java.util.Collection;

import java.util.ArrayList;
public class ReglaCompuesta extends Regla {
	
	private Collection<Regla> reglas = new ArrayList<Regla>();
	private Collection<Regla> reglasMatcheadoras =  new ArrayList<Regla>();
	
	public Collection<Regla> getReglasMatcheadoras() {
		return reglasMatcheadoras;
	}

	public void agregarRegla (Regla regla){
		this.reglas.add(regla);
		
	}
	
	public boolean matchea(Paquete paquete){

		this.reglasMatcheadoras.clear();
		
		for (Regla regla : this.reglas){
			if(regla.matchea(paquete)){
				this.reglasMatcheadoras.add(regla);
			}
			
		}
		
		return (this.reglasMatcheadoras.size() > 0); 
		
	} 
	
	@Override
	public void ejecutarAcciones(Paquete paquete){
		for(Regla regla:this.reglasMatcheadoras){
			regla.ejecutarAcciones(paquete);
		}
		
	}

}
